Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2018, 14:27
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

ajax запрос по логину и паролю должен получить xml данные
Доброе время суток.
Я не понимаю, есть обычная форма с методом post
<form class="forma" method="post">
<input id="authLogin" class="logi_input" name="login" autocomplete="off" type="text" placeholder="E-mail name" /></span></p>
<input id="authPassword" class="pas_input" name="password" autocomplete="off" type="password" placeholder="Password" />
<input class="button" type="submit" value="Вход"/>
</form>

Eсть ajax запрос, который по логину и паролю должен получить xml данные
$('input[type="submit"]').click(function() {
			ajaxPostXML();
		});
		function ajaxPostXML(){

				$.ajax({
				type: "POST",
				url: 'https://lk.webvm.ru/billmgr?authinfo="'+$login+'":"'+$password+'"&out=xml&func=user',
				dataType: "xml",
				success: function(xml){
				xmlDoc = $.parseXML( xml ),
                    $xml = $(xmlDoc),
                    $mail = $xml.find("email");

                alert($Email);
			   }
			});
		}

Вот xml ответ сервера
<doc lang="ru" func="user">
  <elem>
    <self>on</self>
    <default_access_allow>on</default_access_allow>
    <account_id>5173</account_id>
    <enabled>on</enabled>
    <email>olegalim@yandex.ru</email>
    <realname>Галимов Олег</realname>
    <name>olegalim@yandex.ru</name>
    <id>5176</id>
  </elem>
  <tparams>
    <out>xml</out>
    <func>user</func>
  </tparams>
  <saved_filters/>
</doc>

К сожалению пишет ошибку

Логин не определенный.
Все перепробовал, как определить логин с паролем?
Подскажите как решить ошибку?
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2018, 14:34
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,831

У вас в функции "ajaxPostXML" переменная "$login" (с "$password" вероятно тоже самое) не определена.
Как объявить переменную можно прочитать тут: https://learn.javascript.ru/variables
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2018, 14:36
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

$login = $('#authLogin').val();
Ответить с цитированием
  #4 (permalink)  
Старый 29.01.2018, 14:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от olegalimov
$('input[type="submit"]').click(function()
Это отправление формы, а значит и перезагрузка страницы.
Ответить с цитированием
  #5 (permalink)  
Старый 29.01.2018, 14:50
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от Белый шум Посмотреть сообщение
$login = $('#authLogin').val();
Я уже так писал, не работает
$('input[type="submit"]').click(function() {
			var	$login = $('#authLogin').val();
			var $password = $('#authPassword').val();
			ajaxPostXML();
		//	alert (login);
		});
Ответить с цитированием
  #6 (permalink)  
Старый 29.01.2018, 14:52
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,831

olegalimov, нужно переменные объявлять в функции "ajaxPostXML" или передавать данные в аргументах.
https://learn.javascript.ru/closures
Ответить с цитированием
  #7 (permalink)  
Старый 29.01.2018, 15:01
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от Nexus Посмотреть сообщение
olegalimov, нужно переменные объявлять в функции "ajaxPostXML" или передавать данные в аргументах.
Исправил, не работает
$('input[type="submit"]').click(function() {
			ajaxPostXML();
		});
		function ajaxPostXML(){
			$login = $('#authLogin').val();
			$password = $('#authPassword').val();
				$.ajax({
				type: "POST",
				url: 'https://lk.webvm.ru/billmgr?authinfo="'+$login+'":"'+$password+'"&out=xml&func=user',
				dataType: "xml",
				success: function(xml){
					xmlDoc = $.parseXML( xml ),
                    $xml = $(xmlDoc),
                    $Email = $xml.find("email");

                alert($Email);
			   }
			});
		}

Последний раз редактировалось olegalimov, 29.01.2018 в 15:08.
Ответить с цитированием
  #8 (permalink)  
Старый 29.01.2018, 15:26
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,831

olegalimov, смотрите консоль.
Ответить с цитированием
  #9 (permalink)  
Старый 29.01.2018, 15:33
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,831

olegalimov, значит все работает.
Попробуйте взглянуть на комментарий №4.
Ответить с цитированием
  #10 (permalink)  
Старый 29.01.2018, 15:36
Аспирант
Отправить личное сообщение для olegalimov Посмотреть профиль Найти все сообщения от olegalimov
 
Регистрация: 27.09.2015
Сообщений: 94

Сообщение от Nexus Посмотреть сообщение
olegalimov, смотрите консоль.
Сообщение от Nexus Посмотреть сообщение
olegalimov, значит все работает.
Попробуйте взглянуть на комментарий №4.
тоже исправил, не работает
$('.bill_botton').click(function() {
			ajaxPostXML();
		});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить данные по http ссылке Ракун Events/DOM/Window 7 17.08.2017 17:11
Получить данные через AJAX и отобразить на странице skiller AJAX и COMET 2 17.06.2011 11:09
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07
ajax запрос с подгружемным js HelpeR AJAX и COMET 1 27.10.2008 12:44